package cn.wolfcode.p2p.base.service;

import java.util.List;

import com.github.pagehelper.PageInfo;

import cn.wolfcode.p2p.base.domain.SystemDictionary;
import cn.wolfcode.p2p.base.domain.SystemDictionaryItem;
import cn.wolfcode.p2p.base.query.SystemDictionaryQueryObject;

/**
 * 数据字典相关服务
 * 
 * @author wolfcode
 *
 */
public interface ISystemDictionaryService {

	/**
	 * 分页查询数据字典目录
	 * 
	 * @param qo
	 * @return
	 */
	PageInfo<SystemDictionary> queryDics(SystemDictionaryQueryObject qo);

	/**
	 * 分页查询数据字典明细
	 * 
	 * @param qo
	 * @return
	 */
	PageInfo<SystemDictionaryItem> queryItems(SystemDictionaryQueryObject qo);

	/**
	 * 修改或者保存
	 * 
	 * @param dic
	 */
	void saveOrUpdate(SystemDictionary dic);

	/**
	 * 列出所有数据字典目录
	 * 
	 * @return
	 */
	List<SystemDictionary> listAllDics();

	/**
	 * 添加/修改明细
	 * 
	 * @param item
	 */
	void saveOrUpdateItem(SystemDictionaryItem item);
	
	/**
	 * 根据数据字典编码查询数据字典明细
	 */
	List<SystemDictionaryItem> listBySn(String sn);
}
